home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 25
/
AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso
/
Tools
/
HexED
/
HexED.doc
< prev
next >
Wrap
Text File
|
2000-05-08
|
19KB
|
501 lines
-----------------------------------------------------------------------------
# # ##### # #
# # # # #
##### ### #
# # # # #
# # ##### # #
-----------------------------------------------------------------------------
Hex V1.0, Copyright (c) 1990 by
Nicola Salmoria
Via Piemonte 11
53100 Siena ITALY
All rights reserved.
You can contact me on:
MC-Link: +39 6 4180440 my code is MC6489
Voice: +39 577 54164
You can try to contact me on FidoNet, but it's unlikely you'll get an answer,
'cos there's yet no Fido node in Siena. Maybe in the future.
This program is SHAREWARE. Copy it as much as you can (provided no charge is
made and the archive is left intact). It can be included, with the same
restrictions, in any commercial program without the written permission of the
author.
Contributions will be greatly appreciated and will help me support Hex in the
future as well as develop new programs. Suggested contribution is $15.
Hex development took 4 months. I spent much time in it, and I'd like to be
rewarded for my work.
Keep one thing in mind: I will probably add new features to Hex, but I will NOT
release a new version until I get enough feedback. So you know what to do.
IMPORTANT NOTE: Hex has some unique features difficult to understand or to
even know about without reading this doc file. If you're too lazy to read it
all, you should read at least the 'Editing & keyboard' chapter, plus the
explanations of the menu items you don't understand.
WARNING: This program in the wrong hands may be a lethal weapon! Use at your
own risk. Anyway, Hex is provided "AS IS", without warranty of any kind, either
expressed or implied. The author will never be liable for any loss of data,
disk damage, computer explosion, earthquake, alien invasion, or anything else.
REMEMBER: It is both immoral and illegal to modify someone else's programs
and redistribute them. All such changes should be considered strictly for
personal use. If you want to let the rest of the world know about some nice
changes you've devised, I think it may be considered acceptable to spread a text
file explaining what to change (like I do with keymaps later on).
--------
Overview
--------
Hex is a file-based (as opposed to sector-based, like NewZAP) binary file
editor. This means that the file is loaded in memory all at once, edited
there and saved at the end. There are advantages and disadvantages in both
approaches: sector-based editors heavy depend on device speed in operations
like search; on the other hand, file based-ones take longer to display the
file for the first time, 'cos they have to load it all. Moreover, file-based
editors need more memory, and it may be impossible to load very large files.
Hex uses the same text routines of MiniView80. This means it's got (one of)
the fastest and smoothest screen rendering ever seen in a file editor.
---------------
Acknowledgement
---------------
I'd like to thank the following people for beta-testing and suggestions:
Federico Giannici
Marco Ciuchini
Antonio Rossi
Massimiliano Marras
Angelo Mariani
-------
Loading
-------
From WorkBench, double-click on Hex icon. You can use extended selection: click
on Hex icon, then press SHIFT and double-click on the file icon.
From CLI, syntax is:
Hex [filename] [NODETACH]
If you specify a file name, it will be loaded on startup.
By default, Hex detaches from the current CLI. You can disable this feature
with the switch NODETACH. It may be useful if you execute Hex from one of that
nice directory utilities.
IMPORTANT NOTE: To load Hex, the file 'req.library' must be in your LIBS:
directory. Req.library is a freely distributable library by C.W.Fox and
Bruce Dawson. If you are a programmer, you may want to take a look at it:
it features the BEST file requester I have ever seen and many other nice
functions.
-----------
The gadgets
-----------
Many hex functions are obtained thru the use of gadgets. Most of them can be
operated also with menus. Of course selecting a menu is less handy than directly
clicking in a gadget; menu operations are there mostly to provide keyboard
shortcuts.
Search gadgets:
---------------
In the 'Search' box there are many gadgets, all obviously related to the search
functions. There are three boxes near to the words 'Search', 'Hex', 'Text'. Only
one of them is selected, and indicates which search mode is currently active.
You can click on them to quickly change search mode.
If a match is found, cursor is placed at the start of it, and edit mode is
changed to the corresponding one.
String
Search for a given string. Click in the string gadget below and enter
the text you want to search for. When you press return, search will
start at cursor position.
A=a
Search can be case sensitive or case unsensitive; you can switch the
flag with this gadget.
Hex
Search for a sequence of bytes you specify via their hexadecimal
notation. Click in the string gadget below and enter the byte sequence
you want to search. You can enter data as xx xx xx, xxxxxxxx, xxxx xx
xxxxxx, anyway you want, provided between two blank spaces there is an
even number of characters.
CAL
Imports in the hex gadget the value currently displayed on the
calculator display. A leading zero is added if needed.
Text
This is a special feature: it searches the file for occurrencies of at
least eight 'good' ASCII characters. It is useful to quickly locate
message strings in a file. When this box is selected, use 'Continue' to
scan the file.
Continue
Continues the search from the new cursor position.
<< and >>
Specify the search direction.
Other gadgets:
--------------
Start and End
These two behave differently if you are editing a file or GRABbing
memory (see below). In file mode, 'Start' is always zero and 'End'
indicates the last byte of the file (or, if you prefer, the file length
MINUS ONE). In memory mode, they indicate the start and end of the
memory grabbed. You can change the value contained in these gadgets:
the file will be modified accordingly, if possible. You can enlarge or
shrink a file, or change the 'window' on the memory. To add bytes at
the start of the file, simply insert a negative value. Note that when
you change the 'Start' gadget in file mode, it is reset to zero and the
'End' value is changed accordingly.
If you press SHIFT-Return in one of the gadgets, the other one is
activated. This is an easy way to change start and end together. It's
main use is to completely change the portion of memory grabbed.
Position
Reports the position occupied by the cursor in the file. Modify its
value to jump to a specific location.
Editing
Shows which side of the display you are editing: ASCII or HEX. This
gadget exists only in 'Hex/ASCII' display mode, in 'Only ASCII' it is
replaced by 'Value', which reports the hex value of the byte the cursor
is on. You can modify this value, so you don't have to change the
display mode to insert an hex value in the middle of an ASCII string.
UNDO and REDO
Self explainatory. Hex features a multi-level undo/redo (currently max
undo level is 256).
---------
The menus
---------
NOTE: I won't repeat it for every function, but every time you do something
which would mean losing the current data, a requester will appear asking if you
want to save the file, continue anyway, or cancel the operation.
Project:
--------
About
The usual information about the program.
New
Creates a new file. The current file is cleared, and the gadget 'End'
is activated.